package com.ruoyi.system.domain.aid;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 物资分配对象 aid_allocation
 * 
 * @author ruoyi
 */
public class AidAllocation extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 分配ID */
    @Excel(name = "分配ID")
    private Long allocationId;

    /** 分配标题 */
    @Excel(name = "分配标题")
    private String allocationTitle;

    /** 捐赠ID */
    @Excel(name = "捐赠ID")
    private Long donationId;

    /** 需求ID */
    @Excel(name = "需求ID")
    private Long demandId;

    /** 物资类别ID */
    @Excel(name = "物资类别ID")
    private Long categoryId;

    /** 物资类别名称 */
    @Excel(name = "物资类别名称")
    private String categoryName;

    /** 分配数量 */
    @Excel(name = "分配数量")
    private Long quantity;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 仓库ID */
    @Excel(name = "仓库ID")
    private Long warehouseId;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    private String warehouseName;

    /** 分配状态（0待审核 1已通过 2已拒绝） */
    @Excel(name = "分配状态", readConverterExp = "0=待审核,1=已通过,2=已拒绝")
    private String status;

    /** 分配人 */
    @Excel(name = "分配人")
    private String allocator;

    /** 分配时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "分配时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date allocationTime;

    /** 审核人 */
    @Excel(name = "审核人")
    private String verifyBy;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date verifyTime;

    /** 审核意见 */
    @Excel(name = "审核意见")
    private String verifyRemark;

    /** 接收人姓名 */
    @Excel(name = "接收人姓名")
    private String recipientName;

    /** 接收人电话 */
    @Excel(name = "接收人电话")
    private String recipientPhone;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 描述 */
    @Excel(name = "描述")
    private String description;

    /** 捐赠标题 */
    @Excel(name = "捐赠标题")
    private String donationTitle;

    /** 需求标题 */
    @Excel(name = "需求标题")
    private String demandTitle;

    /** 物资类型 */
    @Excel(name = "物资类型")
    private String materialType;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    public void setAllocationId(Long allocationId) {
        this.allocationId = allocationId;
    }

    public Long getAllocationId() {
        return allocationId;
    }

    public void setAllocationTitle(String allocationTitle) {
        this.allocationTitle = allocationTitle;
    }

    public String getAllocationTitle() {
        return allocationTitle;
    }

    public void setDonationId(Long donationId) {
        this.donationId = donationId;
    }

    public Long getDonationId() {
        return donationId;
    }

    public void setDemandId(Long demandId) {
        this.demandId = demandId;
    }

    public Long getDemandId() {
        return demandId;
    }

    public void setCategoryId(Long categoryId) {
        this.categoryId = categoryId;
    }

    public Long getCategoryId() {
        return categoryId;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    public String getCategoryName() {
        return categoryName;
    }

    public void setQuantity(Long quantity) {
        this.quantity = quantity;
    }

    public Long getQuantity() {
        return quantity;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public String getUnit() {
        return unit;
    }

    public void setWarehouseId(Long warehouseId) {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId() {
        return warehouseId;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    public String getWarehouseName() {
        return warehouseName;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public void setAllocator(String allocator) {
        this.allocator = allocator;
    }

    public String getAllocator() {
        return allocator;
    }

    public void setAllocationTime(Date allocationTime) {
        this.allocationTime = allocationTime;
    }

    public Date getAllocationTime() {
        return allocationTime;
    }

    public void setVerifyBy(String verifyBy) {
        this.verifyBy = verifyBy;
    }

    public String getVerifyBy() {
        return verifyBy;
    }

    public void setVerifyTime(Date verifyTime) {
        this.verifyTime = verifyTime;
    }

    public Date getVerifyTime() {
        return verifyTime;
    }

    public void setVerifyRemark(String verifyRemark) {
        this.verifyRemark = verifyRemark;
    }

    public String getVerifyRemark() {
        return verifyRemark;
    }

    public void setRecipientName(String recipientName) {
        this.recipientName = recipientName;
    }

    public String getRecipientName() {
        return recipientName;
    }

    public void setRecipientPhone(String recipientPhone) {
        this.recipientPhone = recipientPhone;
    }

    public String getRecipientPhone() {
        return recipientPhone;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getAddress() {
        return address;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }

    public void setDonationTitle(String donationTitle) {
        this.donationTitle = donationTitle;
    }

    public String getDonationTitle() {
        return donationTitle;
    }

    public void setDemandTitle(String demandTitle) {
        this.demandTitle = demandTitle;
    }

    public String getDemandTitle() {
        return demandTitle;
    }

    public void setMaterialType(String materialType) {
        this.materialType = materialType;
    }

    public String getMaterialType() {
        return materialType;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("allocationId", getAllocationId())
            .append("allocationTitle", getAllocationTitle())
            .append("donationId", getDonationId())
            .append("demandId", getDemandId())
            .append("categoryId", getCategoryId())
            .append("categoryName", getCategoryName())
            .append("quantity", getQuantity())
            .append("unit", getUnit())
            .append("warehouseId", getWarehouseId())
            .append("warehouseName", getWarehouseName())
            .append("status", getStatus())
            .append("allocator", getAllocator())
            .append("allocationTime", getAllocationTime())
            .append("verifyBy", getVerifyBy())
            .append("verifyTime", getVerifyTime())
            .append("verifyRemark", getVerifyRemark())
            .append("recipientName", getRecipientName())
            .append("recipientPhone", getRecipientPhone())
            .append("address", getAddress())
            .append("description", getDescription())
            .append("donationTitle", getDonationTitle())
            .append("demandTitle", getDemandTitle())
            .append("materialType", getMaterialType())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .toString();
    }
} 